GC-Safe Interprocedural Unboxing

نویسندگان

  • Leaf Petersen
  • Neal Glew
چکیده

Modern approaches to garbage collection (GC ) require information about which variables and fields contain GC-managed pointers. Interprocedural flow analysis can be used to eliminate otherwise unnecessary heap allocated objects (unboxing), but must maintain the necessary GC information. We define a core language which models compiler correctness with respect to the GC, and develop a correctness specification for interprocedural unboxing optimizations. We prove that any optimization which satisfies our specification will preserve GC safety properties and program semantics, and give a practical unboxing algorithm satisfying this specification.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Type-Preserving Flow Analysis and Interprocedural Unboxing (Extended Version)

Interprocedural flow analysis can be used to eliminate otherwise unnecessary heap allocated objects (unboxing), and in previous work we have shown how to do so while maintaining correctness with respect to the garbage collector. In this paper, we extend the notion of flow analysis to incorporate types, enabling analysis and optimization of typed programs. We apply this typed analysis to specify...

متن کامل

ar X iv : 1 20 3 . 19 86 v 1 [ cs . P L ] 9 M ar 2 01 2 Type - Preserving Flow Analysis and Interprocedural Unboxing Extended

Interprocedural flow analysis can be used to eliminate otherwise unnecessary heap allocated objects (unboxing), and in previous work we have shown how to do so while maintaining correctness with respect to the garbage collector. In this paper, we extend the notion of flow analysis to incorporate types, enabling analysis and optimization of typed programs. We apply this typed analysis to specify...

متن کامل

The e ectiveness of type - based unboxing Xavier Leroy

We compare the e ciency of type-based unboxing strategies with that of simpler, untyped unboxing optimizations, building on our practical experience with the Gallium and Objective Caml compilers. We nd the untyped optimizations to perform as well on the best case and signi cantly better in the worst case.

متن کامل

Applying Scalable Interprocedural Pointer Analysis to Embedded Applications

This paper evaluates six different types of interprocedural pointer analyses on 22 telecommunication and media applications and describes their application to an SRAM power reduction technique. This configurable SRAM provides differentiation of data access time and port counts within a single on-chip structure. Scheduling for configurable SRAM relies on inter-procedural dependence analysis for ...

متن کامل

The Eeectiveness of Type-based Unboxing

We compare the eeciency of type-based unboxing strategies with that of simpler, untyped unboxing optimizations , building on our practical experience with the Gallium and Objective Caml compilers. We nd the untyped optimizations to perform as well on the best case and signiicantly better in the worst case.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012